public class demo {
    // 实现递归 递归原理实现基础
    public static void main(String args[]) {
        int data[] = {1, 2, 4, 545, 11, 32, 13131, 4444};
        int result = getMax(data);
        System.out.println(result);
    }

    // 获取最大值
    public static  int getMax(int[] arr) {
        return process(arr, 0,arr.length-1);
    }
    public  static  int process(int[] arr,int L,int R) {
        if(L == R) { // arr[L...R]范围只有一个数，直接返回， base case
            return arr[L];
        }
        int mid = L + ((R-L)>>1); //求中点值
        int leftMax = process(arr,L,mid);
        int rightMax = process(arr,mid+1,R);
        return Math.max(leftMax,rightMax);

    }
}